package com.web.kdl.util;

import org.apache.commons.lang3.StringUtils;

/**
 * @Author： shulibin
 * @Date： 2025/7/22 17:41
 * @Describe：
 */
public class UserValidationUtil {
    /**
     * 校验密码格式
     * @param password 待校验的密码
     * @return 校验结果，null表示通过，非null为错误信息
     */
    public static String validatePassword(String password) {
        if (StringUtils.isBlank(password)) {
            return "密码不能为空";
        }

        // 检查是否包含空格
        if (password.contains(" ")) {
            return "密码不能包含空格";
        }

        // 检查是否只包含字母、数字和ASCII字符
        if (!password.matches("^[\\x00-\\x7F]+$")) {
            return "密码只能包含字母、数字和ASCII字符";
        }

        return null;
    }

    /**
     * 校验用户名格式
     * @param username 待校验的用户名
     * @return 校验结果，null表示通过，非null为错误信息
     */
    public static String validateUsername(String username) {
        if (StringUtils.isBlank(username)) {
            return "用户名不能为空";
        }

        // 检查是否包含中间空格
        if (username.trim().contains(" ")) {
            return "用户名中间不能包含空格";
        }

        // 检查是否只包含汉字、字母、数字和下划线
        if (!username.matches("^[\\u4e00-\\u9fa5a-zA-Z0-9_]+$")) {
            return "用户名只能包含汉字、字母、数字和下划线";
        }

        return null;
    }

    public static boolean validateEmail(String email) {
        return email != null && email.matches("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");
    }
}
